package com.kai.steering.data.service.service;

import com.kai.steering.data.service.entity.domainObject.CaretakerDO;
import com.kai.steering.data.service.entity.dto.CaretakerQueryDTO;
import com.kai.steering.data.service.entity.po.Caretaker;
import com.kai.steering.common.web.service.BaseService;
import com.kai.steering.common.vo.Page;
import com.kai.steering.data.service.entity.vo.CaretakerVO;

import java.io.Serializable;
import java.util.List;

/**
 * <pre>
 * 管理员 服务类
 * </pre>
 *
 * @author kai
 * @since 2022-02-23
 */
public interface CaretakerService extends BaseService<Caretaker> {

    /**
     * 保存
     *
     * @param caretakerDO
     * @return
     */
    boolean saveCaretaker(CaretakerDO caretakerDO);

    /**
     * 修改
     *
     * @param caretakerDO
     * @return
     */
    boolean updateCaretaker(Serializable id, CaretakerDO caretakerDO);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    boolean deleteCaretaker(Serializable id);

    /**
     * 根据ID获取查询对象
     *
     * @param id
     * @return
     */
    CaretakerDO getCaretakerById(Serializable id);


    /**
     * 获取所有对象
     *
     * @return
     */
    List<CaretakerDO> getAllCaretaker();

    /**
     * 获取分页对象
     *
     * @param caretakerQueryDTO
     * @return
     */
    Page<CaretakerVO> getCaretakerPageList(CaretakerQueryDTO caretakerQueryDTO);

    /**
     * 判断某属性是否存在
     *
     * @param key
     * @param val
     * @param id
     * @return
     */
    boolean isExists(String key, String val, Serializable id);


}

